from docx import Document
from docx.shared import Pt,RGBColor
from docx.enum.style import WD_STYLE_TYPE
from docx.enum.text import WD_ALIGN_PARAGRAPH
# 创建新文档
document=Document()
# 打开原有文档
# document=Document('info.docx')
# 设置页眉页脚
section=document.sections[0]
header=section.header
header.paragraphs[0].text='https://www.imooc.com'
footer=section.footer
footer.paragraphs[0].text='https://www.baidu.com'
# 创建样式
style=document.styles.add_style('teststyle',WD_STYLE_TYPE.PARAGRAPH)
print(style.style_id)
print(style.name)
# 设置字号
style.font.size=Pt(5)
# 删除样式
# document.styles['teststyle'].delete()
# 写入内容
# 写入标题
document.add_heading('慕课网简介',level=4)
# 写入段落
p1=document.add_paragraph('作为国内深受欢迎的互联网IT技能学习网站，\
慕课网自2013年成立至今，始终专注IT在线教育，以培养互联网企业实用型人才为己任，\
邀请一线大厂技术达人打造前沿的IT技术精品课程，\
赋能全球范围内每一位有梦想、有志向的开发者实现职业梦想。',style='teststyle')
# 设置排列居中
p1.alignment=WD_ALIGN_PARAGRAPH.CENTER
# 插入段落
p1.insert_paragraph_before('我们是IT教育行业的造梦者，\
也是前沿技术内容的创造者和传播者！')
# 创建格式
format=p1.paragraph_format
# 设置两侧缩进
format.left_indent=Pt(20)
format.right_indent=Pt(20)
# 设置首行/段落开头缩进
format.first_line_indent=Pt(20)
# 设置行间距
format.line_spacing=1.5
# 追加一段带格式文本
run=p1.add_run('慕课网的IT课程设置完整、覆盖面广。')
# 设置字体、字号、文本颜色
run.font.size=Pt(12)
run.font.name='微软雅黑'
run.font.color.rgb=RGBColor(235,33,24)
# 创建带格式文本
run1=p1.add_run('包括基础课程、实用案例、高级分享三大类型，适合不同阶段学习人群。')
# 设置字体加粗、下划线、斜体
run1.bold=True
run1.font.underline=True
run1.font.italic=True
# 插入图片
# document.add_picture('test.png')
# document.add_picture('test.png',Pt(20),Pt(30))
# 插入表格
table=document.add_table(rows=1,cols=3,style='Medium List 1')
header_cells=table.rows[0].cells
header_cells[0].text='月份'
header_cells[1].text='预期销售额'
header_cells[2].text='实际销售额'
# 数据
data=(
    ['一月份',500,600],
    ['二月份',900,600],
    ['三月份',1000,600]
)
for item in data:
    rows_cells=table.add_row().cells
    rows_cells[0].text=item[0]
    rows_cells[1].text=str(item[1])
    rows_cells[2].text=str(item[2])
# 获取表格
print(len(document.tables[0].rows))
print(len(document.tables[0].columns))
print(document.tables[0].cell(0,2).text)
# 保存文档
document.save('info.docx')
